<h2>Application Domains</h2>

<h3>Synopsis</h3>

<div class="mapi-header">
#include &lt;metadata/appdomain.h&gt;

/* Managed AppDomain */
typedef struct _MonoAppDomain MonoAppDomain;

/* Unmanaged representation */
typedef struct _MonoDomain MonoDomain;

/* Represents System.Runtime.Remoting.Contexts.Context */
typedef struct _MonoAppContext MonoAppContext
@API_IDX@
</div>

	<p>Application domains are used to isolate multiple
	applications on a single Mono virtual machine.  They are
	conceptually similiar to processes, the difference is that
	processes are managed by the operating system, while
	application domains are managed by the Mono virtual machine.

	<p>For more information on applications domains see the <a
	href="http://www.gotdotnet.com/team/clr/AppdomainFAQ.aspx">AppDomain FAQ</a>.
		
	<p>The <tt>MonoDomain</tt> is the unmanaged representation of
	the <a
	href="http://www.mono-project.com/monodoc/T:System.AppDomain">System.AppDomain</a>
	managed type, while the <tt>MonoAppDomain</tt> type represents
	the managed version (<tt>MonoAppDomain</tt> has a pointer to
	a <tt>MonoDomain</tt>).

<h4><a name="api:mono_domain_assembly_open">mono_domain_assembly_open</a></h4>
<h4><a name="api:mono_domain_create">mono_domain_create</a></h4>
<h4><a name="api:mono_domain_create_appdomain">mono_domain_create_appdomain</a></h4>
<h4><a name="api:mono_domain_finalize">mono_domain_finalize</a></h4>
<h4><a name="api:mono_domain_foreach">mono_domain_foreach</a></h4>
<h4><a name="api:mono_domain_free">mono_domain_free</a></h4>
<h4><a name="api:mono_domain_from_appdomain">mono_domain_from_appdomain</a></h4>
<h4><a name="api:mono_domain_get_by_id">mono_domain_get_by_id</a></h4>
<h4><a name="api:mono_domain_get_friendly_name">mono_domain_get_friendly_name</a></h4>
<h4><a name="api:mono_domain_get_id">mono_domain_get_id</a></h4>
<h4><a name="api:mono_domain_get">mono_domain_get</a></h4>
<h4><a name="api:mono_domain_has_type_resolve">mono_domain_has_type_resolve</a></h4>
<h4><a name="api:mono_domain_is_unloading">mono_domain_is_unloading</a></h4>
<h4><a name="api:mono_domain_owns_vtable_slot">mono_domain_owns_vtable_slot</a></h4> 
<h4><a name="api:mono_domain_set_config">mono_domain_set_config</a></h4>
<h4><a name="api:mono_domain_set_internal">mono_domain_set_internal</a></h4>
<h4><a name="api:mono_domain_set">mono_domain_set</a></h4>
<h4><a name="api:mono_domain_try_type_resolve">mono_domain_try_type_resolve</a></h4>
<h4><a name="api:mono_domain_try_unload">mono_domain_try_unload</a></h4>
<h4><a name="api:mono_domain_unload">mono_domain_unload</a></h4>

<h3>Contexts</h3>

<h4><a name="api:mono_context_init">mono_context_init</a></h4>
<h4><a name="api:mono_context_get">mono_context_get</a></h4>
<h4><a name="api:mono_context_get_domain_id">mono_context_get_domain_id</a></h4>
<h4><a name="api:mono_context_get_id">mono_context_get_id</a></h4>
<h4><a name="api:mono_context_set">mono_context_set</a></h4>
<h4><a name="api:mono_context_get_desc">mono_context_get_desc</a></h4>
